# Xen API console 'other_config' keys.
XENAPI_CONSOLE_OTHER_CFG = ['vncunused', 'vncdisplay', 'vnclisten',
'vncpasswd', 'type', 'display', 'xauthority',
- 'keymap']
+ 'keymap', 'opengl']
# List of XendConfig configuration keys that have no direct equivalent
# in the old world.
vnc_config = {}
has_vnc = int(vmConfig['platform'].get('vnc', 0)) != 0
has_sdl = int(vmConfig['platform'].get('sdl', 0)) != 0
+ opengl = 1
for dev_uuid in vmConfig['console_refs']:
dev_type, dev_info = vmConfig['devices'][dev_uuid]
if dev_type == 'vfb':
if vfb_type == 'sdl':
self.display = dev_info.get('display', {})
self.xauthority = dev_info.get('xauthority', {})
+ opengl = int(dev_info.get('opengl', opengl))
has_sdl = True
else:
vnc_config = dev_info.get('other_config', {})
elif has_sdl:
# SDL is default in QEMU.
- if int(vmConfig['platform'].get('opengl', 1)) != 1 :
+ if int(vmConfig['platform'].get('opengl', opengl)) != 1 :
ret.append('-disable-opengl')
else:
ret.append('-nographic')
CONFIG_ENTRIES = ['type', 'vncdisplay', 'vnclisten', 'vncpasswd', 'vncunused',
'display', 'xauthority', 'keymap',
- 'uuid', 'location', 'protocol']
+ 'uuid', 'location', 'protocol', 'opengl']
class VfbifController(DevController):
"""Virtual frame buffer controller. Handles all vfb devices for a domain.
For example 'irq=7'.
This option may be repeated to add more than one IRQ.""")
-gopts.var('vfb', val="type={vnc,sdl},vncunused=1,vncdisplay=N,vnclisten=ADDR,display=DISPLAY,xauthority=XAUTHORITY,vncpasswd=PASSWORD",
+gopts.var('vfb', val="type={vnc,sdl},vncunused=1,vncdisplay=N,vnclisten=ADDR,display=DISPLAY,xauthority=XAUTHORITY,vncpasswd=PASSWORD,opengl=1",
fn=append_value, default=[],
use="""Make the domain a framebuffer backend.
The backend type should be either sdl or vnc.
default password.
For type=sdl, a viewer will be started automatically using the
given DISPLAY and XAUTHORITY, which default to the current user's
- ones.""")
+ ones. OpenGL will be used by default unless opengl is set to 0.""")
gopts.var('vif', val="type=TYPE,mac=MAC,bridge=BRIDGE,ip=IPADDR,script=SCRIPT," + \
"backend=DOM,vifname=NAME,rate=RATE,model=MODEL,accel=ACCEL",
d['type'] = 'sdl'
for (k,v) in d.iteritems():
if not k in [ 'vnclisten', 'vncunused', 'vncdisplay', 'display',
- 'xauthority', 'type', 'vncpasswd' ]:
+ 'xauthority', 'type', 'vncpasswd', 'opengl' ]:
err("configuration option %s unknown to vfbs" % k)
config.append([k,v])
if not d.has_key("keymap"):
get_child_by_name(image, "vxauthority", "127.0.0.1"),
document))
console.appendChild(self.mk_other_config(
- "vncpasswd", get_child_by_name(image, "vncpasswd", ""),
+ "opengl", get_child_by_name(image, "opengl", "1"),
document))
consoles.append(console)